package com.xuecheng.base.model;
/**
 * @author hjh
 * @data 2023/5/6 17:20
 * @version 1.0
 */

/**
 *@author hjh
 *@since 2023/5/6
 *@Description TODO
 */

public class ResultUtil {
    /**
     * 成功返回
     *
     * @param data 数据
     * @param <T>  数据类型
     * @return Result实例
     */
    public static <T> Result<T> success(T data) {
        Result<T> result = new Result<>();
        result.setCode(200);
        result.setMessage("操作成功");
        result.setData(data);
        return result;
    }


    /**
     * 失败返回
     *
     * @param message 错误消息
     * @param <T>     数据类型
     * @return Result实例
     */
    public static <T> Result<T> error(String message) {
        Result<T> result = new Result<>();
        result.setCode(-1);
        result.setMessage(message);
        result.setData(null);
        return result;
    }

    public static <T> Result<T> error(int errCode,String message) {
        Result<T> result = new Result<>();
        result.setCode(errCode);
        result.setMessage(message);
        result.setData(null);
        return result;
    }

    /**
     * 参数错误返回
     *
     * @param message 错误消息
     * @param <T>     数据类型
     * @return Result实例
     */
    public static <T> Result<T> paramError(String message) {
        Result<T> result = new Result<>();
        result.setCode(-2);
        result.setMessage(message);
        result.setData(null);
        return result;
    }

    // 其他常用的响应数据封装操作
}
